/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package compumundohipermegared;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * @author asistente
 */
public class Foto implements Serializable 
{
    private static final long serialVersionUID = 500L;    
    
    /**
     * Formatos posibles de las fotos
     */
    public final static String JPEG=".jpeg";
    
    public final static String GIF=".gif";
    
    public final static String PNG=".png";
   
    /**
     * id de la foto se forma con el tiempo en el que fue compartida y un nombre que el usuario le da
     */    
    private String id;
    
    /**
     * formato de la foto, puede ser jpeg, gif, o png
     */
    private String formato;
   
    /**
     * Personas que aparecen en la foto
     */
    private String personas;
    
    /**
     * tiempo en que la foto fue compartida en el sistema
     */
    private Date tiempoGenerada;
    
    /**
     * tiempo en que la foto fue descargada al equipo
     */
    private Date tiempoDescargada;
    
    /**
     * ubicación donde esta el archivo de la foto, debe ser la ruta completa
     */
    private String ubicacionArchivo;
   
    /**
     * indica si la foto es del usuario o si la bajo de otro equipo
     */
    private boolean esMia;
    
    /**
     * ancho de la imagen 
     */
    private int anchoImagen;
    
    /**
     * alto de la imagen
     */
    private int altoImagen;

    /**
     * método constructor de la clase, representa una foto del usuario
     * @param id
     * @param formato
     * @param tiempoGenerada
     * @param tiempoDescargada
     * @param ubicacionArchivo
     * @param esMia 
     */
    public Foto(String id, String formato,String personas, Date tiempoGenerada, Date tiempoDescargada, String ubicacionArchivo, boolean esMia) {
        this.id = id;
        this.formato = formato;
        this.personas = personas;
        this.tiempoGenerada = tiempoGenerada;
        this.tiempoDescargada = tiempoDescargada;
        this.ubicacionArchivo = ubicacionArchivo;
        this.esMia = esMia;
    }

    
    //--------------------------------------------------------------
    // Getters y Setters
    //--------------------------------------------------------------
    
    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return the formato
     */
    public String getFormato() {
        return formato;
    }

    /**
     * @param formato the formato to set
     */
    public void setFormato(String formato) {
        this.formato = formato;
    }
    
        /**
     * @return the personas
     */
    public String getPersonas() {
        return personas;
    }

    /**
     * @param personas the personas to set
     */
    public void setpersonas(String personas) {
        this.personas = personas;
    }

    /**
     * @return the tiempoGenerada
     */
    public Date getTiempoGenerada() {
        return tiempoGenerada;
    }

    /**
     * @param tiempoGenerada the tiempoGenerada to set
     */
    public void setTiempoGenerada(Date tiempoGenerada) {
        this.tiempoGenerada = tiempoGenerada;
    }

    /**
     * @return the tiempoDescargada
     */
    public Date getTiempoDescargada() {
        return tiempoDescargada;
    }

    /**
     * @param tiempoDescargada the tiempoDescargada to set
     */
    public void setTiempoDescargada(Date tiempoDescargada) {
        this.tiempoDescargada = tiempoDescargada;
    }

    /**
     * @return the ubicacionArchivo
     */
    public String getUbicacionArchivo() {
        return ubicacionArchivo;
    }

    /**
     * @param ubicacionArchivo the ubicacionArchivo to set
     */
    public void setUbicacionArchivo(String ubicacionArchivo) {
        this.ubicacionArchivo = ubicacionArchivo;
    }

    /**
     * @return the esMia
     */
    public boolean isEsMia() {
        return esMia;
    }

    /**
     * @param esMia the esMia to set
     */
    public void setEsMia(boolean esMia) {
        this.esMia = esMia;
    }
   
    /**
     * Retorna el id y el formato de la foto
     * @return id - formato
     */
    public String toString( )
    {
        return id + "." + formato;
    }

    /**
     * @return the anchoImagen
     */
    public int getAnchoImagen() {
        return anchoImagen;
    }

    /**
     * @param anchoImagen the anchoImagen to set
     */
    public void setAnchoImagen(int anchoImagen) {
        this.anchoImagen = anchoImagen;
    }

    /**
     * @return the altoImagen
     */
    public int getAltoImagen() {
        return altoImagen;
    }

    /**
     * @param altoImagen the altoImagen to set
     */
    public void setAltoImagen(int altoImagen) {
        this.altoImagen = altoImagen;
    }
}
